package com.taotao.oss.sys.dao;

import java.util.Date;
import java.util.List;
import java.util.Set;

import com.github.pagehelper.Page;

import com.taotao.oss.model.po.SysAccount;
import org.apache.ibatis.annotations.Param;

/**
 * 系统账号信息DAO
 *
 * @author Fan Beibei
 * @date 2021-08-09 01:16:35
 */
public interface SysAccountMapper {
    /**
     * 根据主键查询
     *
     * @param  主键
     * @return
     */
    SysAccount selectByPk(@Param("")  );

    /**
     * 根据主键批量查询
     *
     * @param List 主键列表
     * @return
     */
    List<SysAccount> selectByPkList(List<> List);


    /**
     * 根据主键删除
     *
     * @param  主键
     * @return
     */
    int deleteByPk(@Param("")  );

    /**
     * 根据主键批量删除
     *
     * @param List 主键列表
     * @return
     */
    int deleteByPkList(List<> List);


    /**
     * 插入记录返回主键
     *
     * @param record 记录
     * @return
     */
    int insert(SysAccount record);

    /**
     * 批量插入记录,返回主键
     *
     * @param record 记录
     * @return
     */
    int batchInsert(List<SysAccount> record);


    /**
     * 根据主键更新记录
     *
     * @param record 记录
     * @return
     */
    int updateByPk(SysAccount record);


    /**
     * 分页查询
     *
     * @param param    查询参数
     * @param pageNum  页号
     * @param pageSize 页大小
     * @return
     */
    Page<SysAccount> selectByPage(
            @Param("param") SysAccount param,
            @Param("pageNum") int pageNum,
            @Param("pageSize") int pageSize);


    /**
     * 软删除
     *
     * @param ids    主键列表
     * @param opId   操作人id
     * @param opTime 操作时间
     * @return
     */
    int softDelByPks(@Param("s") Set<> ids, @Param("opId") Long opId, @Param("opTime") Date opTime);

//------------以上是生成代码-----------------------------------------------------------------------------------------------------------------



}